Dans la dernière leçon, nous avons ajouté aux constructeurs d'électrons la mise à jour automatique d'un module et avons réussi à trouver
la version 1 en créant l'application en tant que version inférieure, rien de neuf.
C'est tout bon.
Mais comme nous pouvons le voir dans les journaux de mise à jour automatique, une fois que cette mise à jour a été trouvée sur GitHub, le
téléchargement a automatiquement commencé, ce qui n'est pas idéal.
En tant que développeurs, nous avons la responsabilité d'informer au moins l'utilisateur qu'un téléchargement est sur le point de se produire et,
si possible, de lui donner également la possibilité de le reporter.
Donc, dans cette leçon, nous allons ajouter l'interface utilisateur pour faire exactement cela, informer l'utilisateur d'une nouvelle mise à jour et lui donner
le choix de démarrer le téléchargement ou de le reporter.
Ensuite, une fois que l'utilisateur accepte la mise à jour, il fera à nouveau de même une fois que la nouvelle mise
à jour est prête à être installée, ce qui signifie que l'utilisateur décide s'il souhaite installer la mise à jour en redémarrant l'application.
De retour dans notre mise à jour locale, un module.
Nous pouvons démarrer ce processus en écoutant un événement qui nous indique que la mise à jour automatique a trouvé une
mise à jour viable à télécharger dans la documentation mise à jour automatiquement.
Nous avons cette section événement dans la table des matières et l'événement que nous recherchons ici est une mise à
jour disponible.
Je vais copier le nom de l'événement.
En écoutant cette mise à jour automatique pour la mise à jour disponible, renvoyez un rappel.
Cela invitera l'utilisateur à télécharger ou à reporter la mise à jour, mais gardez à l'esprit que, comme nous l'avons vu dans la leçon
précédente, dès que cette fonction de vérification des mises à jour trouve une mise à jour, elle commence automatiquement
à la télécharger.
Cela va à l'encontre du point de notre invite.
Donc, avant d'implémenter cette invite, nous devons d'abord désactiver à nouveau les téléchargements automatiques dans la documentation.
Nous voyons cela mentionné ici et si je fais défiler un peu vers le bas, nous voyons les propriétés du programme de mise à jour automatique,
le premier étant le téléchargement automatique, s'il faut télécharger une mise à jour lorsqu'elle est trouvée.
Copiez ce nom de propriété.
Et juste en haut ici, dans le cadre de la configuration initiale, nous pouvons désactiver le téléchargement
automatique des mises à jour en définissant sur la mise à jour automatique un module de téléchargement automatique de ce nom de propriété égal à false.
Donc, cela arrêtera maintenant la vérification des mises à jour du téléchargement d'une mise à jour lorsqu'elle est trouvée et
nous permettra à la place de démarrer ce téléchargement manuellement ici, si l'utilisateur est d'accord?
Implémentera l'invite dans une seconde.
Mais de retour dans les docks mis à jour automatiquement jusqu'à Method, nous avons cette mise à jour de téléchargement, qui sera
utilisée pour démarrer manuellement le téléchargement.
Calling Auto Updater Download met à jour notre commentaire pour le moment, car nous avons encore besoin d'une invite pour laquelle
je vais utiliser la boîte de dialogue Duchow du module de dialogue d'Electron.
Sans oublier d'exiger le module de dialogue d'électron.
Les dialogues consed exigent des électrons.
Là, je vais mettre à jour ces doubles guillemets pour l'uniformité.
Mieux et revenons à la boîte de dialogue de message, appelez cette fonction en passant un objet d'options
avec le type info, un titre de dialogue de mise à jour disponible.
Le message étant l'explication plus détaillée de ce à quoi sert ce dialogue, une nouvelle version de celui-ci est disponible.
Voulez-vous mettre à jour maintenant?
Et enfin, des boutons pour saisir le choix de l'utilisateur.
Cela prend un tableau avec le bouton principal mis à jour, ce qui signifie que oui, allez-y et téléchargez la mise à jour
ou non, ce qui reportera simplement la mise à jour au prochain lancement de l'application.
Puis enfin, pour lire la sélection de l'utilisateur à partir de ces boutons, nous pouvons résoudre la promesse
retournée qui vaut alors la peine d'accéder à ce callback du résolveur comme avant l'objet résultat.
Sur lequel nous pouvons obtenir l'index du bouton sélectionné avec la propriété response.
Ensuite, si l'index du bouton est zéro étant le bouton de mise à jour, commencez à télécharger la mise à jour.
L'index du bouton est égal à zéro, appelez cette mise à jour de téléchargement, cette fonction, tout autre bouton et rien ne se
passera.
Donc, en rejetant essentiellement le téléchargement de la mise à jour jusqu'au prochain lancement de l'application, nous pouvons tester cette première étape.
Je vais reconstruire l'application, en la laissant comme version zéro point neuf pour m'assurer que notre mise à jour de la version un est trouvée.
Et fait aussi avant de lancer l'application, je vais effacer cette mise à jour automatique, un journal de la leçon
précédente, renvoyer une chaîne vide dans le journal.
Il suffit donc d'écraser le fichier journal sans contenu, puis de garder ce fichier journal ouvert afin que nous puissions observer
les journaux sur Mac et Linux.
Vous pouvez le faire avec la queue.
Donc, en imprimant la fin du fichier journal avec un drapeau F qui garde l'impression de fin ouverte, lancez le nouvellement construit avec cette
boîte de dialogue de mise à jour.
Je vais immédiatement me diriger vers le terminal.
En vérifiant la mise à jour et une seconde plus tard, la première version est trouvée avec le dialogue faisant rebondir l'icône de
l'application, nous indiquant que quelque chose s'est passé.
Regarde ça.
Et là, nous avons le dialogue pour accepter ou reporter cette mise à jour disponible.
Non, bien sûr, fermez simplement le dialogue et rien de plus ne se passera.
Mais si je dis mise à jour, vérifiez le journal de téléchargement de la mise à jour redit version un.
Alors ça marche.
Dois-je maintenant laisser ce téléchargement se terminer?
Ce qui se passera, c'est la prochaine fois que l'utilisateur quittera l'application, la mise à jour sera installée en arrière-plan, prête
pour chaque fois que l'application sera lancée à nouveau.
Mais nous pouvons encore faire mieux.
Au lieu de cela, informons l'utilisateur du téléchargement en cours, lui permettant de quitter immédiatement l'application, d'installer la
mise à jour et de redémarrer automatiquement l'application par la suite.
De cette façon, un utilisateur peut être pleinement conscient de toutes les nouvelles fonctionnalités ou correctifs.
De retour dans notre mise à jour.
Un module.
Voudra maintenant également écouter le téléchargement étant prêt.
Sous le ouais de l'événement, mise à jour téléchargée, copiez le nom de l'événement.
En écoutant sur Auto Updater la mise à jour téléchargée, cet événement prend un rappel dans lequel l'utilisateur invite l'utilisateur à installer
la mise à jour.
Utilisation d'un autre dialogue appelé Afficher la boîte de message.
Type d'information comme avant.
Mise à jour prête car elle est maintenant prête à être installée, le message peut à nouveau poser une question, installer
et redémarrer maintenant.
Avec deux boutons de l'un ou l'autre, oui.
Ou plus tard, dis-je plus tard, comme le rejet de cela n'empêchera pas l'installation de la mise à jour, cela
se produira simplement la prochaine fois que l'utilisateur quittera et lancera l'application lui-même comme auparavant.
Définissez un rappel de dialogue pour le clic sur le bouton.
Je vais copier ceci à partir de l'invite de téléchargement car nous vérifions le même index de bouton.
Dans lequel voudra installer et redémarrer si l'index du bouton est zéro, le bouton Oui, mais en
appelant le programme de mise à jour automatique, quittez et installez cette fonction prend deux arguments sur les quais, revenez
à Method.
Le premier argument est silencieux, cela change essentiellement si la fenêtre du programme d'installation est visible lors de la mise à jour
de l'application sur Windows et si Forche est exécuté après quoi définit s'il faut redémarrer automatiquement l'application après l'installation de la
mise à jour.
Je vais définir les deux premiers sur false, donc en choisissant d'afficher une fenêtre d'installation lors de la mise à jour de
l'application sous Windows et d'essayer de redémarrer l'application après l'installation de la mise à jour en tant que sélecteur d'utilisateur pour installer et redémarrer, je
vais enregistrer tout cela tester.
Reconstruisez la même version, rien de neuf pour avoir le code mis à jour.
C'est fait, a lancé le New Bold.
Pourtant, la version zéro point neuf, donc la version un devrait être trouvée.
Là, nous obtenons la mise à jour rapide pour commencer à télécharger la mise à jour, je vais l'accélérer un peu pour que
le téléchargement soit terminé et une minute plus tard, nous obtenons cette deuxième invite, nous permettant de continuer à travailler
sur la version zéro point neuf et d'installer uniquement le mise à jour téléchargée lors de la prochaine obtention de l'application ou peut également installer
et redémarrer l'application.
Maintenant, je vais dire oui, ce qui met l'application, installe la nouvelle version et la redémarre automatiquement confirmée en vérifiant la
version de l'application, qui est maintenant la première version.
Ainsi, notre mise à jour a réussi dans la prochaine et dernière leçon de distribution exécutera le processus complet de correction
d'un simple bogue avec des mises à jour automatiques pour Mac et Windows.